<template>
  <div class="audition156">
    <p>1. callee</p>
    <p>callee是arguments中的一个属性，指向当前函数</p>
    <p>2. caller</p>
    <p>caller是函数的属性，当有函数fn2内调用当前函数fn1时，当前函数fn1的caller属性指向调用函数fn2。在全局内调用,caller返回null</p>
    <p>只有函数在被调用时，caller属性才有意义</p>
    <hr>
    <p>下面是一些打印示例：</p>
    <v-md-preview :text="text1" />
  </div>
</template>

<script>
const prefix = '``` js'
const suffix = '```'
export default {
  name: 'Audition156',
  data() {
    return {
      text1: `${prefix}
      function fn() {
        console.log(arguments) // Arguments [233, callee: ƒ, Symbol(Symbol.iterator): ƒ]
        console.log(arguments.callee === fn) // true
        console.log(fn.caller) // null
      }
      fn(233)
      
      var f1 = function () {
        console.log(f1.caller) // f2
        console.log(f1.caller === f2) // true
      }
      var f2 = function () {
        f1()
      }
      f2()
      \n${suffix}`,
    }
  }
}
</script>

<style>

</style>